package org.vectrics.skill;

import java.util.Date;

import org.vectrics.common.db.RecordObject;
import org.vectrics.evaluation.EvaluationType;
import org.vectrics.user.Person;
import org.vectrics.user.PersonEncounter;
import org.vectrics.user.PersonEncounterStatusType;

/**
 * @author mmoore
 */
public class UserEvaluation implements RecordObject, PersonEncounter {
	
	private Date dateCreated = new Date();
	private Date dateEnd = new Date();
	private Date dateStart = new Date();
	private String description = "No Description Entered";
	private String notes = "";
    private Long id = null;
    private Person leadPerson = null; // Evaluator
    private Person person = null;
    private PersonEncounterStatusType encounterStatus = null;
    /**
     * Puntaje de la entrevista
     */
    private Long score = null;
    
    /**
     * Tipo de entrevista
     */
    private EvaluationType type = null;

	public String getTypeDescription() {
		return("Evaluation");
	}
	
	public Date getStartDate() {
		return(dateStart);
	}
	
	public Date getEndDate() {
		return(dateStart);
	}
	
	/**
	 * @return Returns the dateCreated.
	 */
	public Date getDateCreated() {
		return dateCreated;
	}

	/**
	 * @param dateCreated The dateCreated to set.
	 */
	public void setDateCreated(Date dateCreated) {
		this.dateCreated = dateCreated;
	}

	/**
	 * @return Returns the datePerformed.
	 */
	public Date getDateStart() {
		return dateStart;
	}

	/**
	 * @param datePerformed The datePerformed to set.
	 */
	public void setDateStart(Date datePerformed) {
		this.dateStart = datePerformed;
	}

	/**
	 * @return Returns the description.
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description The description to set.
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * @return Returns the id.
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id The id to set.
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return Returns the notes.
	 */
	public String getNotes() {
		return notes;
	}

	/**
	 * @param notes The notes to set.
	 */
	public void setNotes(String notes) {
		this.notes = notes;
	}



    public Date getDateEnd() {
		return dateEnd;
	}

	public void setDateEnd(Date dateEnd) {
		this.dateEnd = dateEnd;
	}

	public Person getLeadPerson() {
		return leadPerson;
	}

	public void setLeadPerson(Person leadPerson) {
		this.leadPerson = leadPerson;
	}

	/**
     * @return Returns the person.
     */
    public Person getPerson() {
        return person;
    }
    /**
     * @param person The person to set.
     */
    public void setPerson(Person person) {
        this.person = person;
    }

	public PersonEncounterStatusType getEncounterStatus() {
		return encounterStatus;
	}

	public void setEncounterStatus(PersonEncounterStatusType encounterStatus) {
		this.encounterStatus = encounterStatus;
	}

	/**
	 * @return the scope
	 */
	public Long getScore() {
		return score;
	}

	/**
	 * @param scope the scope to set
	 */
	public void setScore(Long score) {
		this.score = score;
	}

	/**
	 * @return the type
	 */
	public EvaluationType getType() {
		return type;
	}

	/**
	 * @param type the type to set
	 */
	public void setType(EvaluationType type) {
		this.type = type;
	}
    
    
}
